package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CgPrograma generated by hbm2java
 */
@Entity
@Table(name = "CG_PROGRAMA", schema = "UPET")
public class CgPrograma implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4248427350680880667L;
	private String cprograma;
	private TbUnidad tbUnidad;
	private CgClaseProg cgClaseProg;
	private String cgestion;
	private String dnombreProg;
	private Date fpprograma;
	private Long nprograma;
	private Date fhiprograma;
	private Date fhfprograma;
	private Integer ncasosProgramado;
	private Integer ncasosAsignado;
	private Integer nauditores;
	private Integer nsupervisores;
	private Integer ncoordinadores;
	private Date fhingreso;
	private Date fhmodificacion;
	private String cusuario;
	private Integer ncasosEnProceso;
	private Integer ncasosCerrados;
	private Integer nhorasProgramada;
	private Integer nhorasAplicadas;
	private Double vprodProyectada;
	private Long ncorrelatCaso;
	private Integer ncasosProyecta;
	private Double vporcentajeProy;
	private Set<CgProduccion> cgProduccions = new HashSet<CgProduccion>(0);
	private Set<CgCaso> cgCasos = new HashSet<CgCaso>(0);
	private Set<CgCargaNit> cgCargaNits = new HashSet<CgCargaNit>(0);
	private Set<CgObligXExp> cgObligXExps = new HashSet<CgObligXExp>(0);

	public CgPrograma() {
	}

	public CgPrograma(String cprograma, String dnombreProg, Date fpprograma,
			Long nprograma, Date fhiprograma, Date fhfprograma, Date fhingreso,
			Date fhmodificacion, String cusuario, Long ncorrelatCaso) {
		this.cprograma = cprograma;
		this.dnombreProg = dnombreProg;
		this.fpprograma = fpprograma;
		this.nprograma = nprograma;
		this.fhiprograma = fhiprograma;
		this.fhfprograma = fhfprograma;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.cusuario = cusuario;
		this.ncorrelatCaso = ncorrelatCaso;
	}

	public CgPrograma(String cprograma, TbUnidad tbUnidad,
			CgClaseProg cgClaseProg, String cgestion, String dnombreProg,
			Date fpprograma, Long nprograma, Date fhiprograma,
			Date fhfprograma, Integer ncasosProgramado, Integer ncasosAsignado,
			Integer nauditores, Integer nsupervisores, Integer ncoordinadores,
			Date fhingreso, Date fhmodificacion, String cusuario,
			Integer ncasosEnProceso, Integer ncasosCerrados,
			Integer nhorasProgramada, Integer nhorasAplicadas,
			Double vprodProyectada, Long ncorrelatCaso, Integer ncasosProyecta,
			Double vporcentajeProy, Set<CgProduccion> cgProduccions,
			Set<CgCaso> cgCasos, Set<CgCargaNit> cgCargaNits,
			Set<CgObligXExp> cgObligXExps) {
		this.cprograma = cprograma;
		this.tbUnidad = tbUnidad;
		this.cgClaseProg = cgClaseProg;
		this.cgestion = cgestion;
		this.dnombreProg = dnombreProg;
		this.fpprograma = fpprograma;
		this.nprograma = nprograma;
		this.fhiprograma = fhiprograma;
		this.fhfprograma = fhfprograma;
		this.ncasosProgramado = ncasosProgramado;
		this.ncasosAsignado = ncasosAsignado;
		this.nauditores = nauditores;
		this.nsupervisores = nsupervisores;
		this.ncoordinadores = ncoordinadores;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.cusuario = cusuario;
		this.ncasosEnProceso = ncasosEnProceso;
		this.ncasosCerrados = ncasosCerrados;
		this.nhorasProgramada = nhorasProgramada;
		this.nhorasAplicadas = nhorasAplicadas;
		this.vprodProyectada = vprodProyectada;
		this.ncorrelatCaso = ncorrelatCaso;
		this.ncasosProyecta = ncasosProyecta;
		this.vporcentajeProy = vporcentajeProy;
		this.cgProduccions = cgProduccions;
		this.cgCasos = cgCasos;
		this.cgCargaNits = cgCargaNits;
		this.cgObligXExps = cgObligXExps;
	}

	@Id
	@Column(name = "C_PROGRAMA", unique = true, nullable = false, length = 15)
	public String getCprograma() {
		return this.cprograma;
	}

	public void setCprograma(String cprograma) {
		this.cprograma = cprograma;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_UNIDAD")
	public TbUnidad getTbUnidad() {
		return this.tbUnidad;
	}

	public void setTbUnidad(TbUnidad tbUnidad) {
		this.tbUnidad = tbUnidad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_CLASE_PROG")
	public CgClaseProg getCgClaseProg() {
		return this.cgClaseProg;
	}

	public void setCgClaseProg(CgClaseProg cgClaseProg) {
		this.cgClaseProg = cgClaseProg;
	}

	@Column(name = "C_GESTION", length = 2)
	public String getCgestion() {
		return this.cgestion;
	}

	public void setCgestion(String cgestion) {
		this.cgestion = cgestion;
	}

	@Column(name = "D_NOMBRE_PROG", nullable = false, length = 50)
	public String getDnombreProg() {
		return this.dnombreProg;
	}

	public void setDnombreProg(String dnombreProg) {
		this.dnombreProg = dnombreProg;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_PROGRAMA", nullable = false, length = 7)
	public Date getFpprograma() {
		return this.fpprograma;
	}

	public void setFpprograma(Date fpprograma) {
		this.fpprograma = fpprograma;
	}

	@Column(name = "N_PROGRAMA", nullable = false, precision = 8, scale = 0)
	public Long getNprograma() {
		return this.nprograma;
	}

	public void setNprograma(Long nprograma) {
		this.nprograma = nprograma;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FHI_PROGRAMA", nullable = false, length = 7)
	public Date getFhiprograma() {
		return this.fhiprograma;
	}

	public void setFhiprograma(Date fhiprograma) {
		this.fhiprograma = fhiprograma;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FHF_PROGRAMA", nullable = false, length = 7)
	public Date getFhfprograma() {
		return this.fhfprograma;
	}

	public void setFhfprograma(Date fhfprograma) {
		this.fhfprograma = fhfprograma;
	}

	@Column(name = "N_CASOS_PROGRAMADO", precision = 5, scale = 0)
	public Integer getNcasosProgramado() {
		return this.ncasosProgramado;
	}

	public void setNcasosProgramado(Integer ncasosProgramado) {
		this.ncasosProgramado = ncasosProgramado;
	}

	@Column(name = "N_CASOS_ASIGNADO", precision = 5, scale = 0)
	public Integer getNcasosAsignado() {
		return this.ncasosAsignado;
	}

	public void setNcasosAsignado(Integer ncasosAsignado) {
		this.ncasosAsignado = ncasosAsignado;
	}

	@Column(name = "N_AUDITORES", precision = 5, scale = 0)
	public Integer getNauditores() {
		return this.nauditores;
	}

	public void setNauditores(Integer nauditores) {
		this.nauditores = nauditores;
	}

	@Column(name = "N_SUPERVISORES", precision = 5, scale = 0)
	public Integer getNsupervisores() {
		return this.nsupervisores;
	}

	public void setNsupervisores(Integer nsupervisores) {
		this.nsupervisores = nsupervisores;
	}

	@Column(name = "N_COORDINADORES", precision = 5, scale = 0)
	public Integer getNcoordinadores() {
		return this.ncoordinadores;
	}

	public void setNcoordinadores(Integer ncoordinadores) {
		this.ncoordinadores = ncoordinadores;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FH_MODIFICACION", nullable = false, length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Column(name = "N_CASOS_EN_PROCESO", precision = 5, scale = 0)
	public Integer getNcasosEnProceso() {
		return this.ncasosEnProceso;
	}

	public void setNcasosEnProceso(Integer ncasosEnProceso) {
		this.ncasosEnProceso = ncasosEnProceso;
	}

	@Column(name = "N_CASOS_CERRADOS", precision = 5, scale = 0)
	public Integer getNcasosCerrados() {
		return this.ncasosCerrados;
	}

	public void setNcasosCerrados(Integer ncasosCerrados) {
		this.ncasosCerrados = ncasosCerrados;
	}

	@Column(name = "N_HORAS_PROGRAMADA", precision = 5, scale = 0)
	public Integer getNhorasProgramada() {
		return this.nhorasProgramada;
	}

	public void setNhorasProgramada(Integer nhorasProgramada) {
		this.nhorasProgramada = nhorasProgramada;
	}

	@Column(name = "N_HORAS_APLICADAS", precision = 5, scale = 0)
	public Integer getNhorasAplicadas() {
		return this.nhorasAplicadas;
	}

	public void setNhorasAplicadas(Integer nhorasAplicadas) {
		this.nhorasAplicadas = nhorasAplicadas;
	}

	@Column(name = "V_PROD_PROYECTADA", precision = 13)
	public Double getVprodProyectada() {
		return this.vprodProyectada;
	}

	public void setVprodProyectada(Double vprodProyectada) {
		this.vprodProyectada = vprodProyectada;
	}

	@Column(name = "N_CORRELAT_CASO", nullable = false, precision = 10, scale = 0)
	public Long getNcorrelatCaso() {
		return this.ncorrelatCaso;
	}

	public void setNcorrelatCaso(Long ncorrelatCaso) {
		this.ncorrelatCaso = ncorrelatCaso;
	}

	@Column(name = "N_CASOS_PROYECTA", precision = 5, scale = 0)
	public Integer getNcasosProyecta() {
		return this.ncasosProyecta;
	}

	public void setNcasosProyecta(Integer ncasosProyecta) {
		this.ncasosProyecta = ncasosProyecta;
	}

	@Column(name = "V_PORCENTAJE_PROY", precision = 5)
	public Double getVporcentajeProy() {
		return this.vporcentajeProy;
	}

	public void setVporcentajeProy(Double vporcentajeProy) {
		this.vporcentajeProy = vporcentajeProy;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgPrograma")
	public Set<CgProduccion> getCgProduccions() {
		return this.cgProduccions;
	}

	public void setCgProduccions(Set<CgProduccion> cgProduccions) {
		this.cgProduccions = cgProduccions;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgPrograma")
	public Set<CgCaso> getCgCasos() {
		return this.cgCasos;
	}

	public void setCgCasos(Set<CgCaso> cgCasos) {
		this.cgCasos = cgCasos;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgPrograma")
	public Set<CgCargaNit> getCgCargaNits() {
		return this.cgCargaNits;
	}

	public void setCgCargaNits(Set<CgCargaNit> cgCargaNits) {
		this.cgCargaNits = cgCargaNits;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgPrograma")
	public Set<CgObligXExp> getCgObligXExps() {
		return this.cgObligXExps;
	}

	public void setCgObligXExps(Set<CgObligXExp> cgObligXExps) {
		this.cgObligXExps = cgObligXExps;
	}

}
